﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using eLoje_Model;
using System.Data.SqlClient;
using System.Data;

namespace Eloje_Data
{
   public class FornecedorDA : DbMain
    {
       public FornecedorDA()
       {
           conectar();
       }

       public List<FornecedorVO> getFornecedores()
       {
           List<FornecedorVO> list = null;
           FornecedorVO vo = null;
           try
           {
               SqlCommand cmd = new SqlCommand("SP_ELOJE_WEB_CAD_FORNECEDOR_LISTAR", conn);

               using (IDataReader reader = cmd.ExecuteReader())
               {
                   list = new List<FornecedorVO>();
                   while (reader.Read())
                   {
                       vo = new FornecedorVO();
                       //vo.BAIRRO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.COD_FORNECEDOR = Convert.ToInt32(reader["CD_FORNECEDOR"].ToString());
                       //vo.CEP = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.CIDADE = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.CNPJ = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.COMPLEMENTO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.DDD = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.EMAIL = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.IE = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.IM = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.NOMEFANTASIA = reader["NOME_FANTASIA"].ToString();
                       //vo.NUMERO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.RAZAOSOCIAL = reader["RAZAO_SOCIAL"].ToString();
                       //vo.RUA = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.SITE = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.TELEFONE = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.ESTADO.COD_ESTADO = Convert.ToInt32(reader["SIGLA_DEPARTAMENTO"].ToString());
                       //vo.ESTADO.NOME_ESTADO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       //vo.ESTADO.SIGLA = reader["SIGLA_DEPARTAMENTO"].ToString();
                       list.Add(vo);
                   }
               }
           }
           catch (Exception ex)
           {

           }
           return list;
       }

       public FornecedorVO getFornecedor(int pCodFornecedor)
       {
           FornecedorVO vo = null;
           try
           {
               SqlCommand cmd = new SqlCommand("SP_ELOJE_WEB_CAD_DEPARTAMENTO_LISTAR", conn);

               using (IDataReader reader = cmd.ExecuteReader())
               {
                   while (reader.Read())
                   {
                       vo = new FornecedorVO();
                       vo.BAIRRO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.COD_FORNECEDOR = Convert.ToInt32(reader["SIGLA_DEPARTAMENTO"].ToString());
                       vo.CEP = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.CIDADE = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.CNPJ = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.COMPLEMENTO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.DDD = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.EMAIL = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.IE  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.IM  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.NOMEFANTASIA  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.NUMERO  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.RAZAOSOCIAL  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.RUA  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.SITE = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.TELEFONE  = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.ESTADO.COD_ESTADO = Convert.ToInt32(reader["SIGLA_DEPARTAMENTO"].ToString());
                       vo.ESTADO.NOME_ESTADO = reader["SIGLA_DEPARTAMENTO"].ToString();
                       vo.ESTADO.SIGLA = reader["SIGLA_DEPARTAMENTO"].ToString();
                   }
               }
           }
           catch (Exception ex)
           {

           }
           return vo;
       }

       public void novoFornecedor(FornecedorVO vo, string pUsuario)
       {
           try
           {
               SqlCommand cmd = new SqlCommand("SP_ELOJE_WEB_CAD_FORNECEDOR_NOVO", conn);
               cmd.CommandType = CommandType.StoredProcedure;

               cmd.Parameters.AddWithValue("@RAZAO_SOCIAL", vo.RAZAOSOCIAL);
               cmd.Parameters.AddWithValue("@NOME_FANTASIA", vo.NOMEFANTASIA);
               cmd.Parameters.AddWithValue("@CNPJ", vo.CNPJ);
               cmd.Parameters.AddWithValue("@INSCRICAO_ESTADUAL", vo.IE);
               cmd.Parameters.AddWithValue("@INSCRICAO_MUNICIPAL", vo.IM);
               cmd.Parameters.AddWithValue("@NOME_REPRESENTANTE", vo.REPRESENTANTE);
               cmd.Parameters.AddWithValue("@TELEFONE", vo.TELEFONE);
               cmd.Parameters.AddWithValue("@CELULAR", vo.CELULAR);
               cmd.Parameters.AddWithValue("@LOGRADOURO", vo.RUA);
               cmd.Parameters.AddWithValue("@NUMERO", vo.NUMERO);
               cmd.Parameters.AddWithValue("@BAIRRO", vo.COMPLEMENTO);
               cmd.Parameters.AddWithValue("@CEP", vo.BAIRRO);
               cmd.Parameters.AddWithValue("@CIDADE", vo.CEP);
               cmd.Parameters.AddWithValue("@ESTADO", vo.ESTADO.COD_ESTADO);
               cmd.Parameters.AddWithValue("@USERID", pUsuario);
               SqlParameter ret = cmd.Parameters.Add("@RET_SUCESS", SqlDbType.TinyInt);
               ret.Direction = ParameterDirection.Output;

               cmd.ExecuteNonQuery();

               //tratar erro
           }
           catch (Exception)
           {

               throw;
           }
       }
    }
}
